Project 1¶

Part 1: Prospective and orthographic projections¶

Question 1¶

Perspective¶

Perspective

Orthographic¶

Orthographic

In the perspective projection image, the edges of the laptop appear to converge toward a vanishing point. This results in the image appearing to have a sense of distance. In the orthographic projection image, these same laptop edges seem to look parallel. This reduces the depth distortion and makes the scene appear flatter. This highlights how perspective projection exaggerates convergence, while orthographic projection preserves parallelism.¶

Part 2: Histogram Manipulation & Linear Fitting¶

(a) Histogram Equalization on Provided Images¶

Question 1¶

(b) Creative Task: Apply to Your Own Images¶

Question 2¶

Histogram equalization stretched the intensity distribution from a narrow range to cover more of 0–255. Shadows and highlights separated more clearly, increasing local contrast. In this image, the equalized version appears cleaner and more detailed in dark regions. Overall, I think the quality improved, though some noise was over-enhanced noise in flat areas.

(c) Optional Challenge: Histogram Matching (optional)¶

Question 3¶

(d) Derivative of Gaussian¶

Question 4¶

The naive method (Gaussian → derivative) and the DoG method look nearly identical in both x and y directions. The differences are the result of discretization of the derivative, kernel size/truncation, boundary handling, and slight normalization differences between [-1,0,1] and the DoG scaling.

(e) Creative Task: Image Sharpening¶

Question 5¶

I implemented unsharp masking by Gaussian smoothing (σ = 1.2), subtracting to get the high-frequency component, and adding it back with weights α ∈ {1, 2, 4, 8, 10}. On the CT and moon images, moderate sharpening (α ≈ 2–4) increased perceived sharpness without obvious artifacts, while larger weights (α ≥ 8) produced ringing/halos on strong edges and amplified background noise. This showed the trade-off between acutance and artifacts. For the creative exploration, I used a poster photo in my room. With α ≈ 3, the letters and flower outlines looked crisper. With α ≈ 9–10, I could see bright/dark halos along the black frame and extra grain in the wall texture. Finally, changing σ shifted what was enhanced. Smaller σ emphasized fine texture and noise, while larger σ favored broader edges and reduced noise sensitivity.

Part 3: Anisotropic Diffusion (Graduate Students)¶

Question 1¶

Smaller K protects more edges but denoises less. Larger K smooths more broadly and can round edges. As the number of iterations increase, smoothing becomes stronger.

Question 2¶

Gaussian smoothing reduces noise but blurs across edges. This results in softening boundaries. In contrast, Perona–Malik (PM) diffusion lowers diffusivity near large gradients. Therefore, it denoises within regions while preserving edges. In some instances, the edges are even more emphasized. This results in a piecewise-smooth appearance. Small differences between the two depend on the boundary handling method and parameter choices such as σ for Gaussian vs. K, iterations, and Δt for PM.

Question 3 (optional)¶

Limitations of anisotropic diffusion (Perona–Malik):

  • Parameter sensitivity: Results depend heavily on K, Δt, and iteration count, with no natural stopping rule.
  • Texture loss / cartooning: Fine textures and low-contrast edges may be flattened.
  • Edge leakage: If gradients are weak relative to K, diffusion can cross edges.
  • Discretization artifacts: 4-neighbor updates are not fully rotation-invariant; explicit schemes also require small Δt (slow).
  • Noise model mismatch: Less effective for impulse or speckle noise.

Possible improvement:
I think that a structure-tensor–guided diffusion would improve things. Use a structure tensor to estimate local orientation and guide diffusion.

  • Diffuse strongly along coherent directions (within edges/lines).
  • Diffuse weakly across edges.

This reduces edge leakage and preserves elongated features such as text, vessels, or wood grain.

Alternative approaches:

  • Bilateral or guided filtering: Edge-preserving smoothing using spatial and intensity weighting.
  • Total Variation (TV/TGV) denoising: Variational methods that preserve sharp edges while avoiding staircasing.